/*
 * Powered By XY
 * Since 2020
 */

package com.xy.biz.rs.domain.req;

import com.xy.lang.validation.SaveChecks;
import com.xy.lang.validation.UpdateChecks;
import com.xy.lang.validation.annotation.AlertMessage;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 *
 *
 * @author zsp
 * @date 2021-4-13
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class SaveManufactureRecordTemplateRequest {

	/**
	 * 生产记录模板Id
	 */
	@NotNull(message = "manufactureRecordTemplateIdRequired", groups = { UpdateChecks.class })
	@AlertMessage(code = "manufactureRecordTemplateIdRequired", msg = "生产记录模板Id不能为空")
	private Long manufactureRecordTemplateId;
	/**
	 * 产品大项
	 */
	@NotBlank(message = "productDictCodeRequired", groups = { SaveChecks.class, UpdateChecks.class })
	@AlertMessage(code = "productDictCodeRequired", msg = "产品父项目不能为空")
	private String productDictCode;
	/**
	 * 产品子项
	 */
	@NotBlank(message = "productDictCodeRequired", groups = { SaveChecks.class, UpdateChecks.class })
	@AlertMessage(code = "productDictCodeRequired", msg = "产品子项目不能为空")
	private String subProductDictCode;
	/**
	 * 记录文档类型
	 */
	@NotNull(message = "typeRequired", groups = { SaveChecks.class, UpdateChecks.class })
	@AlertMessage(code = "typeRequired", msg = "记录文档类型不可为空")
	private Integer type;
	/**
	 * 记录文档类型
	 */
	@NotNull(message = "repositoryIdRezquired", groups = { SaveChecks.class, UpdateChecks.class })
	@AlertMessage(code = "repositoryIdRequired", msg = "知识库id不可为空")
	private Long repositoryId;
	/**
	 * 文件等级
	 */
	private String fileLevel;
	/**
	 * 文档id
	 */
	private Long documentId;
	/**
	 * 数据模板名称
	 */
	@NotBlank(message = "dataTemplateNameRequired", groups = { SaveChecks.class, UpdateChecks.class })
	@AlertMessage(code = "dataTemplateNameRequired", msg = "数据模板名称不能为空")
	private String dataTemplateName;

}
